package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.wallet.CardExtractCodeStage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 悦卡赠送提取码实体类<br>
 * 对应的表为：walt_card_extract_code<br>
 * 
 * @author pbuilder generated
 * @date 2019-06-03 15:20:35
 * @company sgy
 * @version 2.0
 */
@TableName("walt_card_extract_code")
@ApiModel(description = "悦卡赠送提取码")
public class CardExtractCodeEntity {

    /** 提取码ID */
	@ApiModelProperty("提取码ID")
	protected String id;

    /** 悦卡赠送ID */
	@ApiModelProperty("悦卡赠送ID")
	protected String cardPresentId;

    /** 会员ID（赠送方）（冗余） */
	@ApiModelProperty("会员ID（赠送方）（冗余）")
	protected String memberId;

    /** 悦卡模板ID（冗余） */
	@ApiModelProperty("悦卡模板ID（冗余）")
	protected String cardTemplateId;

    /** 会员悦卡ID（冗余） */
	@ApiModelProperty("会员悦卡ID（冗余）")
	protected String memberCardId;

    /** 提取码 */
	@ApiModelProperty("提取码")
	protected String extractedCode;

    /**  */
	protected String extractedMemberId;

    /** 提取时间 */
	@ApiModelProperty("提取时间")
	protected LocalDateTime extractedTime;

    /** 赠送生成的悦卡ID（旧悦卡保留） */
	@ApiModelProperty("赠送生成的悦卡ID（旧悦卡保留）")
	protected String extractedMemberCardId;

    /** [枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED */
	@ApiModelProperty("[枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED")
	protected CardExtractCodeStage stage;

    /** 赠送时间 */
	@ApiModelProperty("赠送时间")
	protected LocalDateTime createdTime;

    /** 失效时间 */
	@ApiModelProperty("失效时间")
	protected LocalDateTime expiredTime;

	/**
	 * 构造一个空悦卡赠送提取码实体对象
	 */
	public CardExtractCodeEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个悦卡赠送提取码实体对象
	 * 
	 * @param other 其它对象
	 */
	public CardExtractCodeEntity(CardExtractCodeEntity other){
		super();
     	this.id = other.id;
     	this.cardPresentId = other.cardPresentId;
     	this.memberId = other.memberId;
     	this.cardTemplateId = other.cardTemplateId;
     	this.memberCardId = other.memberCardId;
     	this.extractedCode = other.extractedCode;
     	this.extractedMemberId = other.extractedMemberId;
     	this.extractedTime = other.extractedTime;
     	this.extractedMemberCardId = other.extractedMemberCardId;
     	this.stage = other.stage;
     	this.createdTime = other.createdTime;
     	this.expiredTime = other.expiredTime;
	}


	/**
	 * 获取提取码ID
	 * 
	 * @return id 提取码ID
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置提取码ID
	 * 
	 * @param id 提取码ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取悦卡赠送ID
	 * 
	 * @return cardPresentId 悦卡赠送ID
	 */
	public String getCardPresentId() {
		return cardPresentId;
	}
  	
	/**
	 * 设置悦卡赠送ID
	 * 
	 * @param cardPresentId 悦卡赠送ID
	 */
	public void setCardPresentId(String cardPresentId) {
		this.cardPresentId = cardPresentId;
	}

	/**
	 * 获取会员ID（赠送方）（冗余）
	 * 
	 * @return memberId 会员ID（赠送方）（冗余）
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员ID（赠送方）（冗余）
	 * 
	 * @param memberId 会员ID（赠送方）（冗余）
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取悦卡模板ID（冗余）
	 * 
	 * @return cardTemplateId 悦卡模板ID（冗余）
	 */
	public String getCardTemplateId() {
		return cardTemplateId;
	}
  	
	/**
	 * 设置悦卡模板ID（冗余）
	 * 
	 * @param cardTemplateId 悦卡模板ID（冗余）
	 */
	public void setCardTemplateId(String cardTemplateId) {
		this.cardTemplateId = cardTemplateId;
	}

	/**
	 * 获取会员悦卡ID（冗余）
	 * 
	 * @return memberCardId 会员悦卡ID（冗余）
	 */
	public String getMemberCardId() {
		return memberCardId;
	}
  	
	/**
	 * 设置会员悦卡ID（冗余）
	 * 
	 * @param memberCardId 会员悦卡ID（冗余）
	 */
	public void setMemberCardId(String memberCardId) {
		this.memberCardId = memberCardId;
	}

	/**
	 * 获取提取码
	 * 
	 * @return extractedCode 提取码
	 */
	public String getExtractedCode() {
		return extractedCode;
	}
  	
	/**
	 * 设置提取码
	 * 
	 * @param extractedCode 提取码
	 */
	public void setExtractedCode(String extractedCode) {
		this.extractedCode = extractedCode;
	}

	/**
	 * 获取
	 * 
	 * @return extractedMemberId 
	 */
	public String getExtractedMemberId() {
		return extractedMemberId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param extractedMemberId 
	 */
	public void setExtractedMemberId(String extractedMemberId) {
		this.extractedMemberId = extractedMemberId;
	}

	/**
	 * 获取提取时间
	 * 
	 * @return extractedTime 提取时间
	 */
	public LocalDateTime getExtractedTime() {
		return extractedTime;
	}
  	
	/**
	 * 设置提取时间
	 * 
	 * @param extractedTime 提取时间
	 */
	public void setExtractedTime(LocalDateTime extractedTime) {
		this.extractedTime = extractedTime;
	}

	/**
	 * 获取赠送生成的悦卡ID（旧悦卡保留）
	 * 
	 * @return extractedMemberCardId 赠送生成的悦卡ID（旧悦卡保留）
	 */
	public String getExtractedMemberCardId() {
		return extractedMemberCardId;
	}
  	
	/**
	 * 设置赠送生成的悦卡ID（旧悦卡保留）
	 * 
	 * @param extractedMemberCardId 赠送生成的悦卡ID（旧悦卡保留）
	 */
	public void setExtractedMemberCardId(String extractedMemberCardId) {
		this.extractedMemberCardId = extractedMemberCardId;
	}

	/**
	 * 获取[枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED
	 * 
	 * @return stage [枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED
	 */
	public CardExtractCodeStage getStage() {
		return stage;
	}
  	
	/**
	 * 设置[枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED
	 * 
	 * @param stage [枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED
	 */
	public void setStage(CardExtractCodeStage stage) {
		this.stage = stage;
	}

	/**
	 * 获取赠送时间
	 * 
	 * @return createdTime 赠送时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置赠送时间
	 * 
	 * @param createdTime 赠送时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取失效时间
	 * 
	 * @return expiredTime 失效时间
	 */
	public LocalDateTime getExpiredTime() {
		return expiredTime;
	}
  	
	/**
	 * 设置失效时间
	 * 
	 * @param expiredTime 失效时间
	 */
	public void setExpiredTime(LocalDateTime expiredTime) {
		this.expiredTime = expiredTime;
	}

    public String toString() {
		return new StringBuilder().append("CardExtractCodeEntity{").
			append("id=").append(id).
			append(",cardPresentId=").append(cardPresentId).
			append(",memberId=").append(memberId).
			append(",cardTemplateId=").append(cardTemplateId).
			append(",memberCardId=").append(memberCardId).
			append(",extractedCode=").append(extractedCode).
			append(",extractedMemberId=").append(extractedMemberId).
			append(",extractedTime=").append(extractedTime).
			append(",extractedMemberCardId=").append(extractedMemberCardId).
			append(",stage=").append(stage).
			append(",createdTime=").append(createdTime).
			append(",expiredTime=").append(expiredTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CardExtractCodeEntity copy() {
		return new CardExtractCodeEntity(this);
	}

    /** 提取码ID */
	public static final String COL_ID = "id";

    /** 悦卡赠送ID */
	public static final String COL_CARD_PRESENT_ID = "card_present_id";

    /** 会员ID（赠送方）（冗余） */
	public static final String COL_MEMBER_ID = "member_id";

    /** 悦卡模板ID（冗余） */
	public static final String COL_CARD_TEMPLATE_ID = "card_template_id";

    /** 会员悦卡ID（冗余） */
	public static final String COL_MEMBER_CARD_ID = "member_card_id";

    /** 提取码 */
	public static final String COL_EXTRACTED_CODE = "extracted_code";

    /**  */
	public static final String COL_EXTRACTED_MEMBER_ID = "extracted_member_id";

    /** 提取时间 */
	public static final String COL_EXTRACTED_TIME = "extracted_time";

    /** 赠送生成的悦卡ID（旧悦卡保留） */
	public static final String COL_EXTRACTED_MEMBER_CARD_ID = "extracted_member_card_id";

    /** [枚举]赠送阶段：0-赠送中-PRESENTING、1-已提取-EXTRACTED、2-已拒绝-REJECTED、3-已失效-EXPIRED */
	public static final String COL_STAGE = "stage";

    /** 赠送时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 失效时间 */
	public static final String COL_EXPIRED_TIME = "expired_time";
}
